#ifndef _GUI_H_
#define _GUI_H_

struct _GUI {
	GtkBuilder *builder;
	GtkWidget *button_pause;
	GtkWidget *button_take_photo;
	GtkWidget *canvas;
	GtkWidget *entry_camera;
	GtkWidget *entry_telescope;
	GtkWidget *image_record;
	GtkWidget *image_stop;
	GtkWidget *label_alt;
	GtkWidget *label_azm;
	GtkWidget *label_dec;
	GtkWidget *label_dec_arcminutes;
	GtkWidget *label_dec_arcseconds;
	GtkWidget *label_dec_degrees;
	GtkWidget *label_ra;
	GtkWidget *label_ra_hours;
	GtkWidget *label_ra_minutes;
	GtkWidget *label_ra_seconds;
	GtkWidget *main_window;
	GtkWidget *spin_dec_arcminutes;
	GtkWidget *spin_dec_arcseconds;
	GtkWidget *spin_dec_degrees;
	GtkWidget *spin_ra_hours;
	GtkWidget *spin_ra_minutes;
	GtkWidget *spin_ra_seconds;
	GtkWidget *status_bar;
	GtkWidget *switch_on;
	GtkWidget *toggle_go;
	GtkWidget *toggle_record;
};

GUI * gui_new( );

void gui_free(Application *);

void gui_activate(GtkSwitch *, GParamSpec *, Application *);

void gui_connect_signals(Application *);

void gui_go(GtkButton *, Application *);

void gui_init(Application *);

void gui_initialize_widgets(GUI *);

void gui_set_coordinate_labels_default_text(GUI *, char *);

void gui_set_sensitive_coordinate_entries(GUI *, int);

void gui_toggle_sensitive_widgets(GUI *, int);

void * gui_update_coordinate_labels_text(void *);

#include "gui.c"
#endif
